package probandoTitiritero;


import java.awt.event.KeyEvent;
import juego.Coordinador;
import juego.Tripulado;

import ar.uba.fi.algo3.titiritero.KeyPressedObservador;

public class EscuchadorDeKeyPress implements KeyPressedObservador {

        private Tripulado tripulado;
        private Coordinador coordinador;
        
        //recibe una referencia al tripulado y una referencia al coordinador
        public EscuchadorDeKeyPress(Tripulado nave, Coordinador coord){
                this.tripulado = nave;
                this.coordinador = coord;
        }
        
        public void keyPressed(KeyEvent event) {
                switch (event.getKeyCode()) {
                case KeyEvent.VK_DOWN:
                		try{
                			tripulado.moverEnYPositivo();
                		}
                		catch(Exception e){}
                		break;
                        
                case KeyEvent.VK_LEFT:
                		try{
                			tripulado.moverEnXNegativo();
                		}
                		catch(Exception e){}
                		break;
                        
                case KeyEvent.VK_UP:
                		try{
            			tripulado.moverEnYNegativo();
                		}
                		catch(Exception e){}
                		break;
                                        
                case KeyEvent.VK_RIGHT:
                		try{
                			tripulado.moverEnXPositivo();
                		}
                		catch(Exception e){}
                		break;
                	
                //barra espaciadora
                case KeyEvent.VK_SPACE:
                		try{
                			this.coordinador.hacerTripuladoDisparar();
                		}
                		catch(Exception e){}
                		break;
                	           	
                   
                default:
                        System.out.println("No apreto una tecla posta: " + event.getKeyCode());
                        break;
                }
        }

}
